unit ufrmproyecto;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, JvExComCtrls, JvComCtrls,
  JvStatusBar, Vcl.ImgList, Vcl.ActnList, Vcl.PlatformDefaultStyleActnCtrls,
  Vcl.ActnMan, Vcl.Menus, Vcl.ExtCtrls, JvExExtCtrls, JvNetscapeSplitter,
  Vcl.Grids, Vcl.ValEdit;

type
  TfrmProyectoPTP = class(TForm)
    stb1: TJvStatusBar;
    il1: TImageList;
    actmgr1: TActionManager;
    actAddSitio: TAction;
    actDelSitio: TAction;
    actEditSitio: TAction;
    actAddEnlace: TAction;
    actDelEnlace: TAction;
    actEditEnlace: TAction;
    pmArbol: TPopupMenu;
    actAddSitio1: TMenuItem;
    actDelEnlace1: TMenuItem;
    actAddEnlace1: TMenuItem;
    actDelEnlace2: TMenuItem;
    Sitio1: TMenuItem;
    Enlace1: TMenuItem;
    ilAcciones: TImageList;
    il2: TImageList;
    tv1: TTreeView;
    page1: TJvPageControl;
    procedure FormCreate(Sender: TObject);
    procedure pmArbolPopup(Sender: TObject);
    procedure actAddSitioExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure New;
    procedure Save;
    procedure UpdateTree;
  end;

var
  frmProyectoPTP: TfrmProyectoPTP;

implementation

uses
  proyectos, definiciones, sitios, ufrmPanelProyecto, ufrmASitios,
  ufrmAEnlaces, ufrmASistemas;

var
  _proyecto: TProyectoPTP;

{$R *.dfm}

procedure TfrmProyectoPTP.actAddSitioExecute(Sender: TObject);
begin
  _proyecto.AddSitioDlg;
  UpdateTree;

end;

procedure TfrmProyectoPTP.FormCreate(Sender: TObject);
begin

  _proyecto := TProyectoPTP.create;
  Caption := definiciones.TITLE_PTP;
  frmPanelProyecto := TfrmPanelProyecto.Create(self);
  frmPanelProyecto.ManualDock(page1);
  frmPanelProyecto.Show ;

  {agregar applet sitios}
  frmAsitios := TfrmAsitios.Create(self);
  frmasitios.ManualDock(page1);
  frmAsitios.lv1.PopupMenu := pmArbol;
  frmasitios.Show ;

  {agregar applet enlaces}
  frmAenlaces := TfrmAenlaces.Create(self);
  frmAenlaces.ManualDock(page1);
  frmAenlaces.Show ;

  {agregar applet sistemas}
  frmASistemas := TfrmASistemas.Create(self);
  frmASistemas.ManualDock(page1);
  frmASistemas.Show ;

  {agregar applet }


end;

procedure TfrmProyectoPTP.New;
begin
  { iniciar la configuracion del nuevo proyecto }
  { iniciar nueva pagina de configuracion de proyecto }
  { iniciar el arbol de item }
  { iniciar el arbol de enlaces entre item }
  { iniciar captura de parametros de la red }
  { iniciar captura de datos de }

//  lst1.Values['nombre'] := _proyecto.Nombre;
//  lst1.Values['descripcion'] := _proyecto.Descripcion;

end;

procedure TfrmProyectoPTP.pmArbolPopup(Sender: TObject);
begin

  if tv1.Selected.Index = 0 then
  begin
    Sitio1.Visible := true;
    Enlace1.Visible := false;
  end;
  if tv1.Selected.Index = 1 then
  begin
    Sitio1.Visible := false;
    Enlace1.Visible := true;
  end;

end;

procedure TfrmProyectoPTP.Save;
begin
  _proyecto.Guardar ;
end;

procedure TfrmProyectoPTP.UpdateTree;
var
  root, item: ttreenode;
  I: Integer;

begin

  root := tv1.Items.item[0];
  root.DeleteChildren;


  for I := 0 to _proyecto.ListadoSitios.Count - 1 do
  begin

    item := tv1.Items.AddChild(root,
      tsitio(_proyecto.ListadoSitios.Items[I]).Nombre);

  end;
   root.Expand(true);
end;

end.
